// define(function(require) {

  import React from 'react';

  class View extends React.Component {
    static propTypes: {
      id: React.PropTypes.string,
      v: React.PropTypes.object
    }

    constructor() {
      super()
    }

    componentDidMount() {
      console.log('componentDidMount View', this.props.id)
    }

    componentWillReceiveProps(nextProps) {
      console.log('componentWillReceiveProps View', this.props.id)
    }

    componentWillUnmount() {
      console.log('componentWillUnmount View', this.props.id)
    }

    shouldComponentUpdate(nextProps, nextState) {
      if (nextProps.v === this.props.v) {
        return false;
      }
      return true;
    }

    render() {
      console.log('render View', this.props.id)
      return (
        <dl>
          <dt>{this.props.v.name}</dt>
          <dd>{this.props.v.content}</dd>
        </dl>
      )
    }
  }

  export default View;
// })